package com.cdu.guoxinan.www.smartcom.service;

import com.cdu.guoxinan.www.smartcom.domian.pojo.HealthServiceAppointment;

import java.util.List;

public interface HealthServiceAppointmentService {
    void addAppointment(HealthServiceAppointment appointment);
    // 分页查询预约列表
    List<HealthServiceAppointment> getAppointments(int page, int limit);
    int getTotalCount();
    // 按居民ID分页查询预约列表
    List<HealthServiceAppointment> getAppointmentsByResidentId(Long residentId, Integer serviceType, Integer status, String appointmentDate, int page, int limit);
    int getTotalCountByResidentId(Long residentId, Integer serviceType, Integer status, String appointmentDate);
    // 新增：取消预约（更新状态）
    boolean cancelAppointment(Long appointmentId);
    // 新增：删除预约
    boolean deleteAppointment(Long appointmentId);
    // 新增：多条件分页查询所有预约
    List<HealthServiceAppointment> getAppointmentsByCondition(Integer serviceType, Integer status, String appointmentDate, int page, int limit);
    int getTotalCountByCondition(Integer serviceType, Integer status, String appointmentDate);
    // 新增：完成预约（将状态设为2）
    boolean finishAppointment(Long appointmentId);
} 